package com.gaogzhen.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.gaogzhen.domain.UserBank;
import com.gaogzhen.dto.UserBankDto;

/**
 * @author Administrator
 * @version 1.0
 * @description ${description}
 * @date 2022-06-07 11:46
 */
public interface UserBankService extends IService<UserBank> {


    /**
     * 分页查询会员银行卡
     * @param page      分页信息
     * @param userId    会员id
     * @return          会员银行卡列表
     */
    Page<UserBank> findByPage(Page<UserBank> page, Long userId);

    /**
     * 启用禁用银行卡
     * @param id        银行卡id
     * @param status    状态
     */
    void updateStatus(Long id, Integer status);

    /**
     * 更新银行卡信息
     * @param userBank  银行卡信息
     */
    void updateUserBank(UserBank userBank);

    /**
     * 查询当前用户银行卡
     * @param currentUserId     用户id
     * @return
     */
    UserBank getCurrentUserBank(Long currentUserId);

    /**
     * 绑定银行卡号
     * @param userId    当前用户ID
     * @param userBank  银行卡
     */
    void bindBank(Long userId, UserBank userBank);

    /**
     * 获取银行卡简要信息
     * @param userId    用户id
     * @return          银行卡简要信息
     */
    UserBankDto getBriefUserBank(Long userId);
}
